﻿// 191. 天气预报.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

/*
https://www.acwing.com/problem/content/193/
你是一个可以控制风的神仙。

通过把云吹到不同的位置，你可以控制降雨。

云下地区会降雨，没有云的地方阳光灿烂。

你是一个仁慈的神，希望土地在平时可以有足够的雨水，在赶集和过节能够充满阳光。

你负责掌控一个村子的天气状况。

这个村子呈 4×4 的网格状分布，村子内的每个区域被编号如下图所示：

天气.jpg

你拥有一片 2×2 大小的云，这片云不能到村子以外的地方。

你将获得一段时间内村子每个区域的赶集和过节时间表。

在这段时间的第一天，中部地区（6−7−10−11）将会下雨。

在接下来的每一天中，您可以在四个基本方向（东南西北）之中选取一个方向，将云移动 1 或 2 个方格，或将其保持在相同位置。

不允许对角线移动，所有动作都在一天开始时发生。

任何地区都不能连续七天或以上时间都不降雨。

这段时间以外的日子的下雨状况你无需做任何考虑。

输入格式
输入包含多组测试用例。

对于每组测试用例，第一行包含一个整数 N，表示这段时间的具体天数。

接下里 N 行，描绘了接下来 N 天的赶集和过节时间表，第 i 行表示第 i 天的时间表。

这 N 行里，每行包含 16 个数字（0 或 1），0 表示正常的一天，1 表示赶集和过节的一天，第 i 个数字表示第 i 个区域的具体情况。

每行数字之间用空格隔开。

当输入测试用例 N=0 时，表示输入终止，且该用例无需处理。

输出格式
每个测试用例输出一个整数 0 或 1，如果可以保证整个时间段内，该下雨的地方下雨，不该下的地方不下，则输出 1。

如果不能保证则输出 0，每个结果占一行。

数据范围
1≤N≤365
输入样例：
1
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1
0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
7
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0
0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0
0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0
0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0
1 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0
0
输出样例：

0
1
0
1
*/
int main()
{
    std::cout << "Hello World!\n";
}

 